1. Field of the Invention
The invention relates generally to devices of determining a bottleneck. For example, a product may be produced and brought to market via the coordination of many processes. If one of the processes limits the production or sales of the product, that process is often referred to as a “bottleneck”. It may be desirable to identify a bottleneck and quantify the detrimental effect the bottleneck has on a business.
2. Description of the Prior Art
In a typical business one or more processes may be involved in the production and selling of a good or service (herein collectively referred to as “product”). As an example, consider the production and selling of product X, which includes processes as follows: purchasing raw materials, cutting, casting and selling. The bottleneck is the process having the lowest output that is not a consequence of low input, which that process received from an inputting process. A bottleneck limits the amount of products that can be sold by a business during a period. If a business wants to raise its sales, it should invest in its bottlenecks. The investments in bottlenecks should enlarge the production capacity of the bottlenecks, and might include, for example, investments in machines, tools, personnel and improved working methods. Investments in processes which are not bottlenecks will not raise sales and profit, and can be a waste of money and time. In order to determine which investments are profitable and which investments are not, it is important for a business to know which processes are bottlenecks and which processes are not.
Few businesses use mathematical optimization techniques like Linear Programming or Nonlinear Programming to determine their bottlenecks. These techniques include the formulation of an objective function. The objective function is to be maximized or minimized. One or more factors which constrain the value of the objective function are determined and expressed by constrain functions. See for example, Frederick S. Hiller and Gerald J. Lieberman, “Introduction to operations research”, McGraw-Hill (1995) in which there is provided a description of techniques of Linear Programming and Nonlinear Programming. If a business uses Linear Programming or Nonlinear Programming to determine bottlenecks, it must formulate an objective function and one or more constrain functions as well. The objective function expresses an object, such as total sales during a period. In order to determine which processes are bottlenecks, which constrain a higher value of the objective function because of their limited maximum production capacity, the limited maximum production capacity of each process is expressed in constrain functions. At the maximum value of the objective function, a business determines which of the limited maximum production capacities, expressed in constrain functions, constrain total sales during a period. At the maximum value of the objective function, one or more processes can be identified as bottlenecks, which constrain a higher value of sales. If a business uses Linear Programming or Nonlinear Programming only the processes, for which a certain fixed maximum production capacity can be determined, can be included. There are processes for which a certain fixed maximum production capacity can be determined easily. For instance a production process X can produce 10,000 pieces of product A or 3,000 pieces of product B during a period. There are however also processes for which it is impossible to determine a certain fixed maximum production capacity. Take for instance sales department S which spends only one hour on a sales order for 1000 products A, but also spends 2 days on a sales order for 2 products A and a week on a customer who does not buy anything. Processes for which no fixed maximum production capacity can be determined, such as sales department S, can therefore never be identified as a bottleneck using Linear Programming or Nonlinear Programming, although these processes can be very important bottlenecks.
In the method described in U.S. Pat. No. 5,946,661, a bottleneck is the process which yields the fewest quantity of products per unit of processing time or yields the lowest value of products per unit of processing time. In order to determine the quantity of products per unit of processing time and the value of products per unit of processing time, the processing time of each product in processes are calculated. In the method described in U.S. Pat. No. 5,966,694 a bottleneck is the process which yields the fewest quantity of products per unit of processing time. The processing times of each product in processes are calculated in order to determine the quantity of products per unit of processing time. In a typical business with a plurality of products, there are important processes which work on a plurality of products at the same time. An account manager for instance who works on a sales order for 100 units of product A, 230 units of product B and 12 units of product C, works on a plurality of products at the same time. Or a warehouse-clerk who moves 4000 pieces of product X and 16000 pieces of product Y, works on a plurality of products at the same time. Or a buying department which buys 1 ton of raw material for the production of 12 types of products works on a plurality of products at the same time. If a process works on a plurality of products at the same time it can be difficult or even impossible to determine the processing time of each product in this process. These processes can therefore never be identified as bottlenecks using the methods and systems described in U.S. Pat. No. 5,946,661 and U.S. Pat. No. 5,966,694, although these processes can be very important bottlenecks.
In U.S. Pat. No. 6,144,893 a bottleneck is a subprocess which dictates the maximum speed of a process. The maximum speed is thereby measured in production units per hour. The method comprises identifying a problem in a process and determining how much processing time the process loses due to the problem. Then the financial value of the problem is calculated based on the maximum bottleneck speed and how much processing time the process loses due to the problem. In a typical business with a plurality of products, there are important processes and subprocesses for which it is very difficult or even impossible to determine its maximum speed. For instance it is very difficult to determine the maximum speed of a sales department Q, which sold 3,000,000 of products in one hour on Monday but did not sell anything on Tuesday. It is also very difficult to determine the maximum speed of a purchasing department P, which can order raw materials for the production of millions of products in just one phone call. In a typical business there are also many production processes for which it is hard to determine its maximum bottleneck speed. It is therefore very difficult to identify a bottleneck in processes like sales department Q, purchasing department P and many production processes, and it is practically impossible to determine the financial value of a problem in these processes based on the maximum speed of these processes. Thus the method and system described in U.S. Pat. No. 6,144,893 has the same drawback as the methods and systems described in U.S. Pat. No. 5,946,661 and U.S. Pat. No. 5,966,694, and the method of Linear Programming and Nonlinear Programming: not all (sub)processes which are involved in the production and selling of products can be included and thus not all the bottlenecks may be detected.
Netherlands Pat. No. 1000191 describes a set of formulas and equations which a business can use to determine its bottlenecks. According to this patent, a process is a bottleneck if a negative variance in revenues originates in that process. The invention describes For. 1 which a business can use to determine whether a negative variance in revenues originated in a process during a period. In order to determine whether a negative variance in revenues of product i originated in process s, a business uses the data on product i and process s in For. 1. If the value of For. 1 is smaller than zero when the data on product i and process s are used in For. 1, then a negative variance in revenues originated in process s and process s was a bottleneck in the production of product i. If the value of For. 1 is equal to zero, when the data on product i and process s are used in For. 1, then no negative variance in revenues of product i originated in process s and process s was not a bottleneck in the production of product i. For. 1 states:min[osi−min(pi−bevises,oti+bevis),0]*Vi  (For. 1)                wherein:                    osi indicates the quantity of production of process s of product i during the concerned period;            pi indicates the budgeted production of product i or the market demand of product i during the concerned period;            bevises indicates the stock of products i that were already processed by process s, but were not processed by all the succeeding processes of process s at the beginning of the concerned period;            oti indicates the quantity of products i that were processed by the process which directly precedes process s during the concerned period;            bevis indicates the stock of products i that were already processed by the process which directly precedes process s but were not yet processed by process s at the beginning of the concerned period and;            Vi indicates the selling price of product i.                        
Using For. 1, according to Netherlands Pat. No. 1000191 can lead to a false determination of bottlenecks. To illustrate this, consider the example of company Y, illustrated in FIG. 1. Company Y produces and sells only product i. Product i can be sold in the company Y's own shop, or product i can be sold and shipped to other companies by the expedition department. During period t, production department 1 produced 2000 units of product i while the total market demand was 1200 units of products i. Production department 1 delivered 1000 units of product i to shop 2 and 1000 units of product i to expedition department 3. Shop 2 sold 700 units of product i and expedition department 3 shipped 500 units of product i to other companies. At the beginning of period t there were no stocks. When company Y uses For. 1 to determine to what extend shop 2 was a bottleneck during period t, it calculates:min[700−min(1200−0,2000+0),0]*Vi=−500*Vi 
Thus if company Y detects bottlenecks according to Netherlands Pat. No. 1000191, it determines that shop 2 was a bottleneck with a magnitude of 500 units of product i. This is a false determination of a bottleneck. Shop 2 was not a bottleneck because shop 2 did not have the lowest output and shop 2 did not limit the amount of units of product i that were sold during period t. Moreover, shop 2 and expedition department 3 processed 1200 units of products i, while the total market demand was 1200 units of product i. They both could not do a better job. In fact, company Y did not have any bottleneck at all during period t.
Netherlands Pat. No. 1000191 also discusses the situation wherein a product consists of two or more subproducts which form one product together and which can only be sold together as one product. As an example, Netherlands Pat. No. 1000191 describes company Dzeng which produces a product (“product i” for short hereinafter), which consists of two subproducts (“subproduct ia” and “subproduct ib” for short hereinafter). This example is illustrated in FIG. 2. Subproduct ia is processed by purchase plastic process 4, cast handle process 5, assemble process 6 and sales process 7. Subproduct ib is processed by purchase aluminium process 8, thump process 9, form process 10, assemble process 6 and sales process 7. According to Netherlands Pat. No. 1000191 a business can use For. 2 to determine whether a negative variance in revenues originated in the production and selling of subproduct ia in process s and thus whether process s was a bottleneck in the production and selling of subproduct ia. In order to determine whether a negative variance originated in process s, a business uses the data on subproduct ia and process s in For. 2. If the value of For. 2 is smaller than zero when the data on subproduct ia and process s are used in For. 2, then a negative variance originated in process s and process s was a bottleneck in the production and selling of subproduct ia. If the value of For. 2 is equal to zero, when the data on subproduct ia and process s are used in For. 2, then no negative variance in revenues originated in process s and process s was not a bottleneck in the production of subproduct ia. For. 2 states:min[osia−min(pi−beviases,otia+bevias),0]*Via  (For. 2)                wherein:                    osia indicates the quantity of production of process s of subproduct ia during the concerned period;            pi indicates the budgeted production of product i or the market demand of product i during the concerned period;            beviases indicates the stock of subproducts ia that were already processed by process s, but were not processed by all the succeeding processes of process s at the beginning of the concerned period;            otia indicates the quantity of subproducts ia that were processed by the process which directly precedes process s during the concerned period;            bevias indicates the stock of subproducts ia that were already processed by the process which directly precedes process s but were not yet processed by process s at the beginning of the concerned period and;            Via indicates the selling price of subproduct ia.                        
Using For. 2, according to Netherlands Pat. No. 1000191 can also, lead to a false determination of bottlenecks. To illustrate this consider an example of company Dzeng, illustrated in FIG. 2, which produced only product i during period t. During period t, purchase plastic process 4 processed 1000 units of subproduct ia. Cast handle process 5 processed 900 units of subproduct ia. Assemble process 6 and sales process 7 both processed 500 units of subproduct ia. Purchase aluminium process 8, thump process 9, form process 10, assemble process 6 and sales process 7 all processed 500 units of subproduct ib. At the beginning of period t no stocks were present. The total market demand and budgeted production for product i during period t was 1000 units. When company Dzeng uses For. 2 to determine to what extent cast handle process 5 was a bottleneck during period t, it calculates:min[900−min(1000−0,1000+0),0]*Via=−100*Via 
Thus if company Dzeng detects bottlenecks according to Netherlands Pat. No. 1000191, it determines that cast handle process 5 was a bottleneck during period t with a magnitude of 100*Via. In other words, according to Netherlands Pat. No. 1000191 a negative variance in revenues originated in cast handle process 5. This conclusion is however false. Cast handle process 5 was not a bottleneck because cast handle process 5 did not have the lowest output and cast handle process 5 did not limit the sales of product i during period t. Because there were only 500 units of subproduct ib available and because subproduct ia can only be sold together with subproduct ib, sales were limited to 500 units. Even if cast handle process 5 had produced an enormous amount of units of ia during period t, sales would still be limited to 500 units. The sales were not limited by the cast handle process 5 during period t. No negative variance in revenues originated in cast handle process 5.
Netherlands Pat. No. 1000191 pays special attention to processes which receive input from two or more processes. In Netherlands Pat. No. 1000191 a process which receives input from two or more processes is called a “combilink”. In the example of company Dzeng, illustrated in FIG. 2, assemble process 6 is a combilink. The combilink combines several subproducts. Assemble process 6 for example combines subproduct ia and subproduct ib. If a subproduct can not be combined with another subproduct in the combilink because the other subproduct is missing, then the combilink has incomplete input. According to Netherlands Pat. No. 1000191 a negative variance in revenues which originated because subproduct ia could not be combined with all the other subproducts in the combilink, can be calculated using For. 3. In order to determine whether a negative variance in revenues originated in the combilink because subproduct ia could not be combined with other subproducts, a business uses data on the combilink (process s) and data on all the subproducts which the combilink combines (subproduct ia, subproduct ib, etc.) in For. 3. If the value of For. 3 is smaller than zero when data on the combilink and data on all the subproducts which the combilink combines are used in For. 3, then a negative variance in revenues originated in the combilink because subproduct ia could not be combined with other subproducts in the combilink. If the value of For. 3 is equal to zero, when data on the combilink and all the subproducts which the combilink combines are used in For. 3, then no negative variance occurred because of incomplete input.min[min(bevibs+otib, . . . , bevins+otin,pi)−min(bevias+otia,pi),0]*Via  (For. 3)                wherein:                    pi indicates the budgeted production of product i or the market demand of product i;            bevibs indicates the stock of subproducts ib that were already processed by one of the processes which directly precedes process s but were not yet processed by process s at the beginning of the concerned period;            bevins indicates the stock of subproducts in that were already processed by one of the processes which directly precedes process s but were not yet processed by process s at the beginning of the concerned period;            bevias indicates the stock of subproducts ia that were already processed by one of the processes which directly precedes process s but were not yet processed by process s at the beginning of the concerned period;            otib indicates the quantity of subproducts ib that were processed during the concerned period by one of the processes which directly precedes process s;            otin indicates the quantity of subproducts in that were processed during the concerned period by one of the processes which directly precedes process s;            otia indicates the quantity of subproducts ia that were processed during the concerned period by one of the processes which directly precedes process s and;            Via indicates the selling price of subproduct ia.                        
Using For. 3, according to Netherlands Pat. No. 1000191 can also lead to a false determination of negative variance in revenues. To illustrate this, consider another example of company Dzeng illustrated in FIG. 2. During period t, company Dzeng only produced product i, which consists of subproduct ia and subproduct ib. During period t, purchase plastic process 4, cast handle process 5 and sales process 7 processed 1000 units of subproduct ia. Assemble process 6 processed 300 units of subproduct ia during period t. Purchase aluminium process 8, thump process 9 and sales process 7 all processed 1000 units of subproduct ib. Assemble process 6 and form process 10 both processed 300 units of subproduct ib. The stock of subproducts ia that were already processed by assemble process 6 but not yet by sales process 7 at the beginning period t held 700 units of subproduct ia. The stock of subproducts ib that were already processed by assemble process 6 but not yet by sales process 7 at the beginning of period t held 700 units of subproduct ib. There were no other stocks present at the beginning of period t. The total market demand and budgeted production for product i during period t was 1000 units. When company Dzeng uses For. 3 to determine whether a negative variance occurred in the assemble process 6 because in this combilink subproduct ia could not be combined with subproduct ib it calculates:min[min(0+300,1000)−min(0+1000,1000),0]*Via=−700*Via 
Thus if company Dzeng uses For. 3 to determine whether a negative variance occurred in assemble process 6 because of incomplete input, company Dzeng calculates that a negative variance in revenues of −700*Via occurred in assemble process 6. This outcome is however false. No negative variance in revenues occurred in assemble process 6. In fact no negative variance in revenues occurred in the whole production and selling of product i. Total sales were 1000 units of product i, which equals total market demand of product i. Thus the outcome of the formulas, described in Netherlands Pat. No. 1000191 can lead to a false determination of bottlenecks.
With the foregoing description of the related art in mind, it will be recognized that there are deficiencies in the prior art. For example, there is a need for a method and apparatus for determining bottlenecks properly in order to allocate investments. The prior art methods suffer from not being able to determine bottlenecks in processes without a certain fixed maximum production capacity. The prior art methods also suffer from not being able to properly determine bottlenecks when it is hard or impossible to determine how much time each bottleneck spends on each particular (type of) product. The prior art methods also suffer from not being able to properly determine bottlenecks when it is hard or impossible to determine the maximum speed of each bottleneck.